/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package myftp.app.action;

import java.io.IOException;
import myftp.app.model.ServerModel;
import myftp.app.model.TransfertTableModel;
import myftp.app.view.PromptPartView;
import myftp.app.view.dialog.TemplateDialog;
import myftp.core.Template;
import myftp.core.action.AbstractAction;

/**
 *
 * @author CAVARLE Glenn, LUCAS Stéphane
 * Met à jour la barre de progression du téléchargment
 */
public class TransferPromptAction extends AbstractAction {

    public synchronized void run() {
        System.out.println("run thread transfer prompt");

	/* Récupération des paramètres */
        ServerModel server = (ServerModel) this.getParam("server");
        TransfertTableModel table = (TransfertTableModel) this.getParam("table");
        Template layout = Template.getInstance();
        PromptPartView prompt = (PromptPartView) layout.getViewPart("prompt");
        String message = "";

        while (server.hasTransfer()) {
            try {
            if((message = server.getReception()) != null){
		/* Affichage du message dans le prompt */
                prompt.appendText(message);
            }
            this.wait(20);
		/* Mise à jour de la barre de progression */
            table.updateBar(server.getConnectIndex(), server.getTransferProgress());
            

		/* En cas de problèmes */
            } catch (InterruptedException ex) {
                TemplateDialog.showInternalErrorDialog(ex.getMessage());
            }
             catch (IOException ex) {
                 TemplateDialog.showInternalErrorDialog(ex.getMessage());
            }
        }

	System.out.println("end thread transfer prompt");
    }


    public boolean init() {
	/* Validation de l'initialisation, lancement du thread */
        return true;
    }
}
